java如何使用for循环在一个范围内添加偶数
我必须创建一个程序,从用户那里获取一个范围,然后将范围中的每个偶数相加,并打印到屏幕上。我正在努力找出如何在for循环中添加每个数字。如果范围为5到10,屏幕应打印24作为答案。下面是我的代码
//worksheet 4 - question 3
//asks user for a range. Adds even numbers in range and prints their sum.
import java.util.Scanner;
class P3LoopRange
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
int initial, finalValue;
System.out.print("Enter a start value: ");
initial = input.nextInt();
System.out.print("Enter a second value: ");
finalValue = input.nextInt();
while (finalValue <= initial)
{
System.out.println("Second value must be larger than start value.");
System.out.print("Enter a second value: ");
finalValue = input.nextInt();
}
int range = finalValue - initial;
int x = 0
for (int i = initial; i <= finalValue; i++)
{
if (i%2==0)
{
int x = x+i;
}
}
System.out.printf(x);
}
}
# 1 楼答案
将
int x = x+i;
更改为x=x+i;
。这里您每次都在初始化x
# 2 楼答案
问题在:
int x = x+i;
只要删除
int
,您的问题就解决了# 3 楼答案
您声明了两次
x
局部变量您不能这样做,因为具有重复的局部变量是不合法的
此外,在循环中声明它会使它在每次迭代中被覆盖
所以,只要在循环之前声明它就可以了